package persistence.model;

import persistence.dao.GroupeDAO;
import persistence.db.DataSet;

public class Groupe extends AbstractModel {
	
	private String nomGroupe;
	private int nombreEtudiant;
	private int idSemestre;
	
	private DataSet groupeIncompatible;
	
	/**
	 * Constructeur d'un groupe
	 */
	public Groupe(){
		setDao(new GroupeDAO(this));
	}
	
	/**
	 * Constructeur d'un groupe
	 * @param id identifiant d'un groupe
	 */
	public Groupe(int id) {
		this();
		setId(id);
	}
	
	/**
	 * Constructeur d'un groupe
	 * @param id identifiant d'un groupe
	 * @param nom nom du groupe
	 * @param nbEt nombre d'étudiants dans le groupe
	 * @param gpeIncompatible
	 */
	public Groupe(int id, String nom, int nbEt, int idsem, DataSet gpeIncompatible) {
		this(id);
		nomGroupe = nom;
		nombreEtudiant = nbEt;
		idSemestre = idsem;
		this.groupeIncompatible = gpeIncompatible;
	}
	
	public String getNomGroupe() {
		return nomGroupe;
	}

	public void setNomGroupe(String nomGroupe) {
		this.nomGroupe = nomGroupe;
	}

	public int getNombreEtudiant() {
		return nombreEtudiant;
	}

	public void setNombreEtudiant(int nombreEtudiant) {
		this.nombreEtudiant = nombreEtudiant;
	}
	
	public int getIdSemestre() {
		return idSemestre;
	}

	public void setIdSemestre(int idSemestre) {
		this.idSemestre = idSemestre;
	}

	public DataSet getGroupeIncompatible() {
		return groupeIncompatible;
	}

	public void setGroupeIncompatible(DataSet groupeIncompatible) {
		this.groupeIncompatible = groupeIncompatible;
	}

	public static DataSet all() {
		GroupeDAO groupeDAO = new GroupeDAO();
		return groupeDAO.all();
	}
}
